性能优化调优 | 您所在的位置:网站首页 › 虚拟机 核心 线程怎么安装 › 性能优化调优 |
首先操作系统会看这个拓扑,在进程调度时为了保持亲和性,会优先把同一个进程调度到同一个core上,如果不能调度到同一个core,则尽量调度到同一个socket上。 虚拟化平台,也许也会倾向于把同一个虚拟core、虚拟socket调度到同一个物理core、物理socket上。至于具体到某个虚拟化平台(VMware、KVM、Hyper-V、Citrix)是怎么调度的,肯定是各有各的算法。 因此,如果想收获比较好的虚拟机性能表现,把虚拟机的CPU拓扑设置为和物理机一致,这样在亲和性保持上比较有利。如果不一致,就不利。 举一个不一致的例子。 物理机拓扑:2个sockets、每个socket有4个cores,每个core有一个thread。 虚拟机拓扑:1个sockets、每个socket有8个cores,每个core有一个thread。 在OS进程调度时,如果同一个进程不能调度到同一个虚拟core(名叫A)上,它会调度到同一个socket上其他core,OS一看拓扑,大家都在同一个socket,于是就随便调度到一个core(名叫F)。 而在物理机层面,这个8个虚拟core不可能调度到同一个socket(假设叫1)上,因为一个socket只有4个cores。结果,core(F)就被调度到Socket(名叫2)上了。 于是上下文切换的代价就明显增高。 |
CopyRight 2018-2019 实验室设备网 版权所有 |